package com.badibadi.fragment;

import java.io.InputStream;
import java.util.HashMap;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

import android.util.Log;

public class ParseXmlService {
	public HashMap<String, String> parseXml(InputStream inStream) {
//		   
		HashMap<String, String> hashMap = new HashMap<String, String>();
		try {
//			   
			// 实例化一个文档构建器工厂
			DocumentBuilderFactory factory = DocumentBuilderFactory
					.newInstance();
//			   
			// 通过文档构建器工厂获取一个文档构建器
			DocumentBuilder builder;

			builder = factory.newDocumentBuilder();

//			   
			// 通过文档通过文档构建器构建一个文档实例
			Document document = builder.parse(inStream);
//			   
			// 获取XML文件根节点
			Element root = document.getDocumentElement();
//			   
			// 获得所有子节点
			NodeList childNodes = root.getChildNodes();
//			   
			for (int j = 0; j < childNodes.getLength(); j++) {
				// 遍历子节点
				Node childNode = (Node) childNodes.item(j);
				if (childNode.getNodeType() == Node.ELEMENT_NODE) {
					Element childElement = (Element) childNode;
//					   
					// 版本号
					if ("version".equals(childElement.getNodeName())) {
						hashMap.put("version", childElement.getFirstChild()
								.getNodeValue());
//						   
					}
					// 软件名称
					else if (("name".equals(childElement.getNodeName()))) {
						hashMap.put("name", childElement.getFirstChild()
								.getNodeValue());
//						   
					}
					// 下载地址
					else if (("url".equals(childElement.getNodeName()))) {
						hashMap.put("url", childElement.getFirstChild()
								.getNodeValue());
//						   
					}
				}
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			   
//			   
		}
		return hashMap;
	}
}
